TEMA: Factores estructurales y de género asociados a la autonomía económica de las mujeres en las regiones del Perú En este dashboard analizamos la autonomía económica de las mujeres en las 25 regiones del Perú. La autonomía económica se entiende como la capacidad de las mujeres para generar y administrar sus propios recursos monetarios, reduciendo su dependencia. La variable central es un índice que va de 0 a 100 y se construye como:
Autonomía económica = 100 – % de mujeres sin ingresos propios
(sin_ingresos).
Es decir, valores más altos indican que una mayor proporción de mujeres cuenta con ingresos propios y, por tanto, menor dependencia económica respecto de la pareja u otros miembros del hogar.
data_ord <- data |>
mutate(region = reorder(region, autonomia))
ggplot(data_ord,
aes(x = autonomia, y = region, fill = autonomia)) +
geom_col() +
labs(
title = "Autonomía económica de las mujeres por región",
x = "Índice de autonomía económica (0–100)",
y = "Región",
fill = "Autonomía"
) +
scale_fill_gradient(
low = "#e1bee7",
high = "#6a1b9a"
) +
theme_minimal()
# Descargamos shapefile de Perú (departamentos)
peru_sp <- geodata::gadm("PER", level = 1, path = tempdir())
peru_sf <- st_as_sf(peru_sp)
# Unimos shapefile con la versión especial para mapa
peru_mapa <- peru_sf |>
left_join(data_map, by = c("NAME_1" = "region_join"))
# Paleta de colores para la autonomía
pal <- colorNumeric(
palette = "Purples",
domain = peru_mapa$autonomia
)
leaflet(peru_mapa) |>
addProviderTiles("CartoDB.Positron") |>
addPolygons(
fillColor = ~pal(autonomia),
color = "#555555",
weight = 1,
opacity = 1,
fillOpacity = 0.8,
label = ~paste0(NAME_1, ": ",
round(autonomia, 1),
" (índice)"),
highlight = highlightOptions(
weight = 2,
color = "#000000",
bringToFront = TRUE
)
) |>
addLegend(
pal = pal,
values = ~autonomia,
title = "Autonomía (0–100)",
position = "bottomright"
)
tabla_autonomia <- data |>
arrange(desc(autonomia)) |>
select(
Región = region,
`Autonomía (0–100)` = autonomia,
`% sin ingresos propios` = sin_ingresos,
`Ingreso promedio mensual (S/.)` = ingreso,
`PEA ocupada femenina` = PEAO,
`% trabajo ind./no remunerado` = trabajo_ind_no_rem
)
DT::datatable(
tabla_autonomia,
options = list(pageLength = 8, dom = "tip"),
rownames = FALSE
)
ggplot(data, aes(x = "", y = años_estudio)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Distribución de años de estudio de las mujeres por región",
x = "",
y = "Años de estudio (promedio)"
) +
theme_minimal()
ggplot(data, aes(x = "", y = analfabetismo)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Distribución del analfabetismo femenino por región",
x = "",
y = "% de mujeres analfabetas"
) +
theme_minimal()
ggplot(data, aes(x = "", y = ingreso)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Distribución del ingreso laboral promedio mensual",
x = "",
y = "Ingreso mensual (S/.)"
) +
theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_boxplot()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
ggplot(data, aes(x = "", y = PEAO)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Distribución de la PEA ocupada femenina por región",
x = "",
y = "PEA ocupada femenina"
) +
theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_boxplot()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
ggplot(data, aes(x = "", y = trabajo_ind_no_rem)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "% de mujeres en trabajo independiente o no remunerado",
x = "",
y = "% de mujeres ocupadas"
) +
theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_boxplot()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
ggplot(data, aes(x = "", y = violencia_sexual)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Tasa de violencia sexual contra las mujeres",
x = "",
y = "Casos por 100 mil mujeres (aprox.)"
) +
theme_minimal()
ggplot(data, aes(x = "", y = violencia_fisica)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Tasa de violencia física contra las mujeres",
x = "",
y = "Casos por 100 mil mujeres (aprox.)"
) +
theme_minimal()
ggplot(data, aes(x = "", y = violencia_psico)) +
geom_boxplot(fill = "#b39ddb", alpha = 0.7) +
geom_jitter(width = 0.1, alpha = 0.9, color = "#7e57c2") +
coord_flip() +
labs(
title = "Tasa de violencia psicológica contra las mujeres",
x = "",
y = "Casos por 100 mil mujeres (aprox.)"
) +
theme_minimal()
library(tidyr)
## Warning: package 'tidyr' was built under R version 4.4.3
##
## Adjuntando el paquete: 'tidyr'
## The following object is masked from 'package:terra':
##
## extract
vars_num <- data |>
select(
`Años de estudio` = años_estudio,
Analfabetismo = analfabetismo,
`Ingreso mensual (S/.)` = ingreso,
`PEA ocupada` = PEAO,
`% trab. ind./no rem.` = trabajo_ind_no_rem,
`Violencia sexual` = violencia_sexual,
`Violencia física` = violencia_fisica,
`Violencia psicológica` = violencia_psico
)
resumen_vars <- vars_num |>
summarise(
across(
everything(),
list(
Media = ~mean(.x, na.rm = TRUE),
Mediana = ~median(.x, na.rm = TRUE),
Q1 = ~quantile(.x, 0.25, na.rm = TRUE),
Q3 = ~quantile(.x, 0.75, na.rm = TRUE)
)
)
) |>
pivot_longer(
everything(),
names_to = c("Variable", ".value"),
names_sep = "_"
)
kable(resumen_vars, digits = 1)
| Variable | Media | Mediana | Q1 | Q3 |
|---|---|---|---|---|
| Años de estudio | 10.0 | 10.1 | 9.4 | 10.5 |
| Analfabetismo | 8.4 | 6.7 | 5.3 | 11.8 |
| Ingreso mensual (S/.) | 1227.8 | 1222.6 | 1086.1 | 1345.2 |
| PEA ocupada | 307.4 | 199.8 | 91.9 | 315.2 |
| % trab. ind./no rem. | 49.9 | 51.6 | 43.8 | 57.0 |
| Violencia sexual | 1169.2 | 842.5 | 543.0 | 1317.5 |
| Violencia física | 2452.1 | 1978.0 | 1313.5 | 3148.5 |
| Violencia psicológica | 2203.7 | 1550.0 | 1069.2 | 2521.8 |
Esta pestaña describe las variables independientes que se usarán para explicar la autonomía económica de las mujeres. Los boxplots muestran la distribución por región y la tabla resume sus valores centrales (media, mediana y cuartiles).
En términos generales se observa que:
Educación: las mujeres tienen en promedio unos 10 años de estudio y el analfabetismo femenino ronda el 8 %, aunque algunas regiones superan claramente este nivel.
Inserción laboral e ingresos: el ingreso mensual promedio de las mujeres ocupadas se sitúa alrededor de S/ 1200, con poca diferencia entre regiones. Sin embargo, cerca de la mitad de las mujeres ocupadas trabaja en formas independientes o no remuneradas, lo que evidencia una inserción laboral muy precaria.
Violencias de género: las tasas de violencia sexual, física y psicológica son altas en promedio y muestran una gran dispersión, indicando que algunas regiones concentran niveles mucho mayores de violencia contra las mujeres.
Estos patrones permiten contextualizar las desigualdades regionales que podrían estar asociadas a mayores o menores niveles de autonomía económica.
ggplot(data, aes(x = años_estudio, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "#4a148c") +
labs(
title = "Autonomía económica y años de estudio",
x = "Años de estudio (promedio)",
y = "Autonomía económica (0–100)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
ggplot(data, aes(x = analfabetismo, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "#4a148c") +
labs(
title = "Autonomía económica y analfabetismo femenino",
x = "% de mujeres analfabetas",
y = "Autonomía económica (0–100)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
ggplot(data, aes(x = ingreso, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "#4a148c") +
labs(
title = "Autonomía económica e ingreso mensual de las mujeres ocupadas",
x = "Ingreso mensual promedio (S/.)",
y = "Autonomía económica (0–100)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
ggplot(data, aes(x = PEAO, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "#4a148c") +
labs(
title = "Autonomía económica y PEA ocupada femenina",
x = "PEA ocupada femenina",
y = "Autonomía económica (0–100)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
ggplot(data, aes(x = trabajo_ind_no_rem, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "#4a148c") +
labs(
title = "Autonomía económica y trabajo independiente/no remunerado",
x = "% de mujeres en trabajo independiente o no remunerado",
y = "Autonomía económica (0–100)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
# Índice simple de violencia total: suma de violencia sexual, física y psicológica
data <- data |>
mutate(violencia_total = violencia_sexual + violencia_fisica + violencia_psico)
ggplot(data, aes(x = violencia_total, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_smooth(method = "lm", se = FALSE, color = "#4a148c") +
labs(
title = "Autonomía económica e índice total de violencia de género",
x = "Índice de violencia total (sexual + física + psicológica)",
y = "Autonomía económica (0–100)"
) +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.4.3
## corrplot 0.95 loaded
# Seleccionamos las variables numéricas que queremos correlacionar
vars_corr <- data |>
select(
autonomia,
años_estudio,
analfabetismo,
ingreso,
trabajo_ind_no_rem,
violencia_total
)
# Matriz de correlaciones de Pearson
mat_corr <- cor(vars_corr, use = "pairwise.complete.obs")
# Mapa de calor de correlaciones en escala de morados
corrplot(
mat_corr,
method = "color",
type = "upper",
order = "hclust",
addCoef.col = "black", # muestra los valores
tl.col = "black", # color de etiquetas
tl.srt = 45, # rotación de etiquetas
col = colorRampPalette(c("#f3e5f5", "#7e57c2", "#4a148c"))(200)
)
## Warning in ind1:ind2: numerical expression has 2 elements: only the first used
library(dplyr)
library(knitr)
vars_cor <- data |>
select(
autonomia,
años_estudio,
analfabetismo,
ingreso,
PEAO,
trabajo_ind_no_rem,
violencia_total
)
# Matriz de correlaciones
cor_mat <- cor(vars_cor, use = "pairwise.complete.obs")
# Extraemos solo la fila de autonomía
cor_autonomia <- data.frame(
Variable = colnames(cor_mat)[-1],
Correlación = round(cor_mat["autonomia", -1], 3)
)
kable(cor_autonomia, digits = 3,
col.names = c("Variable", "Correlación con autonomía"))
| Variable | Correlación con autonomía | |
|---|---|---|
| años_estudio | años_estudio | 0.618 |
| analfabetismo | analfabetismo | -0.497 |
| ingreso | ingreso | 0.351 |
| PEAO | PEAO | 0.128 |
| trabajo_ind_no_rem | trabajo_ind_no_rem | -0.605 |
| violencia_total | violencia_total | 0.145 |
Esta sección muestra cómo se relaciona la autonomía económica con los principales factores de educación, trabajo y violencia de género.
En conjunto, este análisis bivariado permite identificar qué dimensiones (educación, condiciones laborales o niveles de violencia) parecen estar más vinculadas con las diferencias regionales en autonomía económica de las mujeres.
library(broom)
## Warning: package 'broom' was built under R version 4.4.3
# Creamos un data frame SIN NAs en las variables del modelo
data_modelo <- data |>
drop_na(autonomia, años_estudio, analfabetismo,
ingreso, trabajo_ind_no_rem, violencia_total)
# Modelo de regresión lineal para autonomía económica
modelo_aut <- lm(
autonomia ~ años_estudio + analfabetismo +
ingreso + trabajo_ind_no_rem + violencia_total,
data = data_modelo
)
# Creamos datos con el valor predicho
data_pred <- data_modelo |>
mutate(autonomia_pred = fitted(modelo_aut))
# Gráfico de valores observados vs predichos
ggplot(data_pred, aes(x = autonomia_pred, y = autonomia)) +
geom_point(color = "#7e57c2", size = 2) +
geom_abline(slope = 1, intercept = 0,
color = "#4a148c", linetype = "dashed") +
labs(
title = "Autonomía observada vs autonomía predicha por el modelo",
x = "Autonomía predicha",
y = "Autonomía observada"
) +
theme_minimal()
tabla_coef <- tidy(modelo_aut) |>
mutate(
term = dplyr::recode(term,
"(Intercept)" = "Intercepto",
"años_estudio" = "Años de estudio",
"analfabetismo" = "Analfabetismo",
"ingreso" = "Ingreso mensual",
"trabajo_ind_no_rem" = "% trabajo ind./no rem.",
"violencia_total" = "Índice de violencia total"
)
)
kable(
tabla_coef,
digits = 3,
col.names = c("Término", "Estimación", "Error estándar", "t", "p-valor")
)
| Término | Estimación | Error estándar | t | p-valor |
|---|---|---|---|---|
| Intercepto | 74.469 | 29.965 | 2.485 | 0.022 |
| Años de estudio | 1.508 | 1.928 | 0.782 | 0.444 |
| Analfabetismo | -0.028 | 0.232 | -0.123 | 0.904 |
| Ingreso mensual | -0.005 | 0.006 | -0.942 | 0.358 |
| % trabajo ind./no rem. | -0.228 | 0.175 | -1.301 | 0.209 |
| Índice de violencia total | 0.000 | 0.000 | -0.710 | 0.486 |
resumen_mod <- glance(modelo_aut) |>
dplyr::select(r.squared, adj.r.squared, sigma)
kable(
resumen_mod,
digits = 3,
col.names = c("R²", "R² ajustado", "Error residual")
)
| R² | R² ajustado | Error residual |
|---|---|---|
| 0.462 | 0.32 | 3.321 |
# Creamos una versión estandarizada de los datos del modelo
data_modelo_std <- data_modelo |>
mutate(
autonomia_std = scale(autonomia),
años_estudio_std = scale(años_estudio),
analfabetismo_std = scale(analfabetismo),
ingreso_std = scale(ingreso),
trabajo_ind_no_rem_std = scale(trabajo_ind_no_rem),
violencia_total_std = scale(violencia_total)
)
# Ajustamos el mismo modelo pero con variables estandarizadas
modelo_aut_std <- lm(
autonomia_std ~ años_estudio_std + analfabetismo_std +
ingreso_std + trabajo_ind_no_rem_std + violencia_total_std,
data = data_modelo_std
)
# Tabla de coeficientes estandarizados (sin el intercepto)
tabla_coef_std <- broom::tidy(modelo_aut_std) |>
filter(term != "(Intercept)") |>
mutate(
Variable = dplyr::recode(term,
"años_estudio_std" = "Años de estudio",
"analfabetismo_std" = "Analfabetismo",
"ingreso_std" = "Ingreso mensual",
"trabajo_ind_no_rem_std" = "% trabajo ind./no rem.",
"violencia_total_std" = "Índice de violencia total"
)
) |>
select(Variable, `Coeficiente estandarizado` = estimate)
kable(tabla_coef_std, digits = 3)
| Variable | Coeficiente estandarizado |
|---|---|
| Años de estudio | 0.272 |
| Analfabetismo | -0.033 |
| Ingreso mensual | -0.308 |
| % trabajo ind./no rem. | -0.676 |
| Índice de violencia total | -0.151 |
Este modelo de regresión lineal toma como variable dependiente
la
autonomía económica de las mujeres y la explica a
partir de:
El modelo de regresión lineal múltiple explica alrededor del 32 % de la variación regional en la autonomía económica de las mujeres (R² ajustado = 0.32). La autonomía tiende a ser mayor en regiones con más años de estudio e ingresos laborales más altos y menor donde predomina el trabajo independiente o no remunerado, aunque, debido al reducido número de observaciones y la fuerte correlación entre las variables de educación y trabajo, la mayoría de los coeficientes no resulta estadísticamente significativa al 5 %. El gráfico de valores observados vs. predichos muestra un ajuste moderado: el modelo capta parte importante de las diferencias regionales, pero deja también una fracción relevante sin explicar.
En la tabla de coeficientes:
La gráfica de la izquierda compara la autonomía observada con la autonomía predicha por el modelo: cuanto más cercanos estén los puntos a la línea diagonal, mejor es el ajuste. El R² y el R² ajustado resumen qué proporción de la variación entre regiones en autonomía económica es explicada por este conjunto de factores.
kmo_res
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = mat_corr)
## Overall MSA = 0.63
## MSA for each item =
## años_estudio analfabetismo ingreso PEAO
## 0.70 0.68 0.81 0.52
## trabajo_ind_no_rem violencia_total
## 0.61 0.53
bartlett_res
## $chisq
## [1] 607.8365
##
## $p.value
## [1] 7.675971e-120
##
## $df
## [1] 15
fa.parallel(
mat_corr,
fa = "fa",
fm = "ml",
main = "Análisis paralelo (número de factores)"
)
## Warning in fa.parallel(mat_corr, fa = "fa", fm = "ml", main = "Análisis
## paralelo (número de factores)"): It seems as if you are using a correlation
## matrix, but have not specified the number of cases. The number of subjects is
## arbitrarily set to be 100
## Parallel analysis suggests that the number of factors = 2 and the number of components = NA
# Modelo factorial con 2 factores
fa_res <- fa(
mat_corr,
nfactors = 2,
fm = "ml",
rotate = "varimax"
)
# Mostramos las cargas factoriales y varianza explicada
fa_res
## Factor Analysis using method = ml
## Call: fa(r = mat_corr, nfactors = 2, rotate = "varimax", fm = "ml")
## Standardized loadings (pattern matrix) based upon correlation matrix
## ML2 ML1 h2 u2 com
## años_estudio 0.83 0.23 0.74 0.264 1.2
## analfabetismo -0.78 -0.02 0.61 0.392 1.0
## ingreso 0.75 0.37 0.70 0.302 1.5
## PEAO 0.16 0.93 0.89 0.114 1.1
## trabajo_ind_no_rem -0.96 -0.28 1.00 0.005 1.2
## violencia_total 0.24 0.97 1.00 0.005 1.1
##
## ML2 ML1
## SS loadings 2.85 2.07
## Proportion Var 0.48 0.34
## Cumulative Var 0.48 0.82
## Proportion Explained 0.58 0.42
## Cumulative Proportion 0.58 1.00
##
## Mean item complexity = 1.2
## Test of the hypothesis that 2 factors are sufficient.
##
## df null model = 15 with the objective function = 6.32
## df of the model are 4 and the objective function was 0.46
##
## The root mean square of the residuals (RMSR) is 0.04
## The df corrected root mean square of the residuals is 0.07
##
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## ML2 ML1
## Correlation of (regression) scores with factors 1.00 1.00
## Multiple R square of scores with factors 0.99 0.99
## Minimum correlation of possible factor scores 0.99 0.99
# Puntajes factoriales (scores) por región
scores_fa <- factor.scores(
x = vars_fa,
f = fa_res,
method = "regression"
)$scores
data_fa <- data %>%
select(region) %>%
bind_cols(as.data.frame(scores_fa))
kable(
data_fa,
digits = 2,
col.names = c("Región", "Factor 1", "Factor 2")
)
| Región | Factor 1 | Factor 2 |
|---|---|---|
| Amazonas | -0.41 | -0.47 |
| Áncash | -0.23 | 0.28 |
| Apurímac | -1.00 | -0.28 |
| Arequipa | 1.48 | 0.98 |
| Ayacucho | -0.51 | -0.10 |
| Cajamarca | -1.59 | 0.32 |
| Callao | NA | NA |
| Cusco | -0.80 | 0.78 |
| Huancavelica | -1.56 | -0.24 |
| Huánuco | -0.55 | -0.08 |
| Ica | 1.97 | -0.55 |
| Junín | 0.10 | -0.01 |
| La Libertad | 0.18 | 0.19 |
| Lambayeque | 0.61 | -0.60 |
| Lima Metropolitana | 0.90 | 4.19 |
| Lima Provincias | 1.06 | 0.06 |
| Loreto | -0.87 | -0.16 |
| Madre de Dios | 0.84 | -1.02 |
| Moquegua | 1.49 | -1.04 |
| Pasco | -0.41 | -0.73 |
| Piura | -0.25 | 0.37 |
| Puno | -1.48 | 0.10 |
| San Martín | -0.24 | 0.21 |
| Tacna | 1.03 | -0.83 |
| Tumbes | 0.68 | -0.90 |
| Ucayali | -0.51 | -0.30 |
El índice KMO global (≈ 0.63) y el test de Bartlett (χ² ≈ 140, p < 0.001) indican que las correlaciones entre educación, trabajo y violencia son suficientes para aplicar un análisis factorial exploratorio.
El análisis paralelo sugiere retener dos factores, que explican alrededor de la mitad de la varianza conjunta de los indicadores.
El Factor 1 (capital educativo-laboral) carga positivamente en años de estudio y en el ingreso de las mujeres, y negativamente en el analfabetismo y el trabajo independiente/no remunerado. Resume el nivel de recursos educativos y la calidad de la inserción laboral femenina en cada región.
El Factor 2 (inserción laboral formal y violencia de género) presenta cargas altas en la PEA ocupada femenina y en el índice total de violencia. Describe regiones donde una mayor participación laboral de las mujeres coexiste con altos niveles de violencia de género.
Estos factores se usan como índices sintéticos en los análisis de regresión y clusterización, permitiendo capturar de forma más compacta las desigualdades estructurales entre regiones. “)
library(cluster)
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.4.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(dplyr)
# Datos para clustering (solo regiones con datos completos)
data_clust <- data |>
drop_na(autonomia, años_estudio, analfabetismo,
ingreso, trabajo_ind_no_rem, violencia_total)
vars_clust <- data_clust |>
select(
autonomia,
años_estudio,
analfabetismo,
ingreso,
trabajo_ind_no_rem,
violencia_total
)
# Estandarizamos las variables para que estén en la misma escala
vars_clust_scaled <- scale(vars_clust)
set.seed(123)
fviz_nbclust(
x = vars_clust_scaled,
FUNcluster = pam,
method = "gap_stat",
k.max = 6
) +
labs(
title = "Número óptimo de clusters (PAM)",
x = "Número de clusters k",
y = "Estadístico GAP"
) +
theme_minimal()
## Warning: `aes_string()` was deprecated in ggplot2 3.0.0.
## ℹ Please use tidy evaluation idioms with `aes()`.
## ℹ See also `vignette("ggplot2-in-packages")` for more information.
## ℹ The deprecated feature was likely used in the factoextra package.
## Please report the issue at <https://github.com/kassambara/factoextra/issues>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Suponemos que el GAP sugiere k = 3 (puedes ajustarlo según tu gráfico)
set.seed(123)
pam_fit <- pam(vars_clust_scaled, k = 3)
fviz_silhouette(pam_fit) +
labs(title = "Silueta de los clusters (k = 3)")
## cluster size ave.sil.width
## 1 1 11 0.25
## 2 2 3 0.12
## 3 3 11 0.33
library(DT)
tabla_regiones_clust <- data_clust |>
mutate(Cluster = factor(pam_fit$clustering))
datatable(
tabla_regiones_clust |>
select(
Región = region,
Cluster,
Autonomía = autonomia,
`Años de estudio` = años_estudio,
Ingreso = ingreso,
`% trab. ind./no rem.` = trabajo_ind_no_rem,
`Índice violencia` = violencia_total
),
options = list(pageLength = 8, dom = "tip"),
rownames = FALSE
)
perfiles_cluster <- tabla_regiones_clust |>
group_by(Cluster) |>
summarise(
`N° regiones` = n(),
Autonomía = mean(autonomia, na.rm = TRUE),
`Años estudio` = mean(años_estudio, na.rm = TRUE),
`% analfabetismo` = mean(analfabetismo, na.rm = TRUE),
Ingreso = mean(ingreso, na.rm = TRUE),
`% trab. precario` = mean(trabajo_ind_no_rem, na.rm = TRUE),
`Índice violencia` = mean(violencia_total, na.rm = TRUE)
)
kable(perfiles_cluster, digits = 1)
| Cluster | N° regiones | Autonomía | Años estudio | % analfabetismo | Ingreso | % trab. precario | Índice violencia |
|---|---|---|---|---|---|---|---|
| 1 | 11 | 67.8 | 9.4 | 12.7 | 1100.5 | 59.4 | 4867.2 |
| 2 | 3 | 74.5 | 11.2 | 3.7 | 1640.0 | 28.2 | 16461.3 |
| 3 | 11 | 72.2 | 10.2 | 5.9 | 1242.8 | 46.4 | 3946.7 |
En esta sección se agrupan las regiones del país según su perfil de
autonomía económica, educación,
condiciones laborales y violencia de
género. Se utilizan las variables: - Autonomía económica
(índice 0–100).
- Años de estudio promedio y analfabetismo femenino.
- Ingreso laboral mensual de las mujeres ocupadas y porcentaje de
trabajo independiente/no remunerado.
- Índice total de violencia (suma de violencia sexual, física y
psicológica).
Las variables se estandarizan y se aplica la técnica Partitioning Around Medoids (PAM) sobre la matriz de distancias euclidianas. El gráfico del estadístico GAP permite seleccionar el número óptimo de clusters, mientras que la silueta evalúa qué tan bien quedan separadas las regiones en cada grupo.
En términos generales, el ejercicio de clusterización sugiere la presencia de tres tipos de regiones:
Cluster 1 – Baja autonomía y mayor precariedad
educativa/laboral:
reúne 11 regiones con la autonomía más baja (≈ 67.8
puntos), menos años de estudio (9.4 en promedio), analfabetismo
alto (12.7 %), ingresos laborales menores (≈ S/ 1100) y el
porcentaje más alto de trabajo independiente o no
remunerado (≈ 59 %). El índice de violencia se ubica en un
nivel medio-alto. Son las regiones más rezagadas en términos de
autonomía y condiciones estructurales.
Cluster 2 – Alta autonomía y mayor capital educativo e
ingresos:
agrupa 3 regiones con la autonomía más alta (≈ 74.5),
más años de estudio (11.2), analfabetismo muy bajo (3.7
%) e ingresos laborales significativamente superiores (≈ S/ 1640), junto
con el menor nivel de trabajo precario (≈ 28 %). Sin
embargo, concentran el índice de violencia más elevado
entre los tres grupos. Representan contextos donde la autonomía
económica convive con altos niveles de violencia registrada.
Cluster 3 – Autonomía media-alta y condiciones
intermedias:
incluye 11 regiones con autonomía intermedia (≈ 72.2),
niveles de educación e ingreso también intermedios y un porcentaje de
trabajo precario alrededor de 46 %. El índice de violencia es
más bajo que en el cluster 1 y muy inferior al del
cluster 2. Corresponde a un patrón “medio” dentro del país.
La silueta promedio indica una separación moderada entre los grupos, por lo que esta clasificación debe entenderse como un análisis exploratorio que ayuda a identificar conjuntos de regiones con desafíos similares en materia de autonomía económica de las mujeres.
🔍 Conclusiones principales del estudio
💸 La autonomía económica de las mujeres es desigual
entre regiones.
El índice de autonomía se sitúa alrededor de 70 puntos, pero con brechas
claras: algunas regiones costeras se acercan a 80, mientras que varias
regiones andinas y amazónicas se mantienen por debajo de 68.
🎓 La educación es el factor más fuertemente asociado a
la autonomía.
Más años de estudio y menores tasas de analfabetismo se relacionan con
mayores niveles de autonomía económica en casi todo el país.
👩💼 La calidad del empleo importa tanto como el
ingreso.
Una alta proporción de trabajo independiente o no remunerado se asocia
de forma clara y negativa con la autonomía, incluso en regiones con
ingresos promedio más altos.
🧩 La violencia de género se suma al contexto de
vulnerabilidad.
El índice total de violencia tiene una relación débil con la autonomía,
pero muestra que en regiones con mejores condiciones económicas la
violencia contra las mujeres puede seguir siendo muy alta.
🗺️ Existen tres perfiles de regiones.
La clusterización identifica:
Cerrar brechas educativas con enfoque territorial y de
género.
Priorizar becas, programas de permanencia escolar y oferta educativa
secundaria y técnica en las regiones del cluster 1, donde las
mujeres acumulan menos años de estudio y el analfabetismo sigue siendo
alto.
Promover empleo digno y reducir el trabajo
independiente/no remunerado.
Incentivar la formalización de actividades económicas de mujeres, el
acceso a protección social y el reconocimiento del trabajo de cuidados,
para que los ingresos propios se traduzcan en verdadera
autonomía.
Articular autonomía económica y prevención de la
violencia.
En regiones del cluster 2, donde la autonomía es alta pero la
violencia también, se requieren estrategias integrales que conecten
programas económicos con sistemas de justicia, salud y
protección.
Diseñar intervenciones diferenciadas según el perfil de
región.
Las regiones rezagadas necesitan paquetes intensivos de educación,
empleo y protección social; las intermedias, consolidar avances; y las
aventajadas, reducir violencia y mejorar la calidad del empleo.
Fortalecer la producción y uso de datos con enfoque de
género.
Mantener y ampliar indicadores de empleo, ingresos, cuidados y violencia
permitirá monitorear la autonomía económica y evaluar políticas
públicas.
Este dashboard trabaja con información agregada por región, lo que limita la capacidad de capturar desigualdades dentro de cada territorio (por ejemplo, entre zonas urbanas y rurales o entre grupos etarios). Además, algunas relaciones no alcanzan significancia estadística debido al reducido número de observaciones regionales y a la alta correlación entre las variables explicativas.
Futuros estudios podrían: